home *** CD-ROM | disk | FTP | other *** search
- TITLE ASK
- COMMENT @
-
-
- **********************
- *****
- *****
- *****
- *****
- *****
- *****
-
-
- ENDCOMMENT @
- .SALL
- PAGE
- SUBTTL MACROS
- PRINT_CHAR EQU 02H
- GETKEY_NOECHO EQU 08H
- GETKEY EQU 01H
- PRINT_MESSAGE EQU 09H
- SEARCH_FIRST EQU 11H
- SEARCH_NEXT EQU 12H
- DELETE_FILE EQU 13H
- SETDTA EQU 1AH
- TAB EQU 09H
- LF EQU 0AH
- CR EQU 0DH
- ESC EQU 1BH
- GLOCATE EQU 03H
- PLOCATE EQU 02H
- GCHAR EQU 08H
- MARK EQU '$'
- QUESTION EQU '?'
- ERR EQU 0FFH
- ARG_FCB EQU 05CH
- BIOS MACRO FCN_BIO, OPTIONAL_BIO_ARG
- MOV AH,FCN_BIO
- IFNB <OPTIONAL_BIO_ARG>
- MOV DX,OFFSET OPTIONAL_BIO_ARG
- ENDIF
- INT 10H
- ENDM
- GET_CUR MACRO
- BIOS GLOCATE
- ENDM
- PUT_CUR MACRO
- BIOS PLOCATE
- ENDM
- GET_CHAR MACRO
- BIOS GCHAR
- ENDM
- DOS MACRO FCN_CODE, OPTIONAL_DX_ARG
- MOV AH,FCN_CODE
- IFNB <OPTIONAL_DX_ARG>
- MOV DX,OFFSET OPTIONAL_DX_ARG
- ENDIF
- INT 21H
- ENDM
- SAY MACRO MSG_NAME
- DOS PRINT_MESSAGE MSG_NAME
- ENDM
- SHOW MACRO ARG
- MOV DL,ARG
- DOS PRINT_CHAR
- ENDM
- CLEAR MACRO REG
- XOR REG,REG
- ENDM
- ONERR MACRO MESSAGE_ARG
- LOCAL OKAY
- CMP AL,ERR
- JNZ OKAY
- SAY MESSAGE_ARG
- JMP EXIT
- OKAY:
- ENDM
- PAGE
- SUBTTL PROGRAM CODE AND DATA
- CSEG SEGMENT PARA PUBLIC 'CODE'
- ASSUME CS:CSEG,DS:CSEG
- ORG 100H
- START: JMP GO
- PROMPT DB ' (Y or N) '
- DB MARK
- NEW_LINE DB ' ',CR,LF,MARK
- SUBTTL CODE SECTION
- MAIN PROC FAR
- GO: PUSH DS
- CLEAR BH
- GET_CUR
- SUB DH,1
- MOV CX,80
- MOV DL,CL
- LOOK LABEL NEAR
- SUB DL,1
- PUT_CUR
- GET_CHAR
- CMP AL,63
- JZ FIND
- LOOP LOOK
- ADD DH,1
- FIND LABEL NEAR
- ADD DL,1
- PLACE LABEL NEAR
- PUT_CUR
- SAY PROMPT
- DOS GETKEY
- CMP AL,'Y'
- JZ YES
- CMP AL,'y'
- JZ YES
- CMP AL,'N'
- JZ NO
- CMP AL,'n'
- JZ NO
- JMP PLACE
- YES LABEL NEAR
- MOV AL,1
- JMP DONE
- NO LABEL NEAR
- MOV AL,0
- DONE LABEL NEAR
- PUSH AX
- SAY NEW_LINE
- POP AX
- MOV AH,4CH
- INT 21H
- MAIN ENDP
- CSEG ENDS
- END START
-